perm filename ELEPHA.ABS[S89,JMC] blob sn#877859 filedate 1989-09-27 generic text, type T, neo UTF8
			   ABSTRACT 

		         John McCarthy
		   Computer Science Department
		      Stanford University
		     Stanford, California


Elephant 2000 is a vehicle for some ideas about programming
language features.

1. Input and output are in an I-O language whose sentences are meaningful
speech acts approximately in the sense of philosophers and linguists.
These include questions, answers, offers, acceptances, declinations,
requests, permissions and promises.

2. The correctness of programs is partially defined in terms of proper
performance of the speech acts.  Answers should be truthful, and promises
should be kept.  Sentences of logic expressing these forms of correctness
can be generated automatically from the form of the program.

3. Elephant source programs may not need data structures, because they can
refer directly to the past.  Thus a program can say that an airline
passenger has a reservation if he has made one and hasn't cancelled it.

4. Elephant programs themselves are represented as sentences of logic.
Their properties follow from this representation without an intervening
theory of programming or anything like Hoare axioms.

5. Elephant programs that interact non-trivially with the outside world
can have both "it illocutionary" and "perlocutionary" specifications,
i.e. specifications relating inputs and outputs and specifications
concerning what they do in the world.